package com.cskaoyan.javase.oop2.extend2.introduction1;

/**
 * @description: 引入继承
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * > 根据我们刚刚学过的知识，完成如下练习：
 *
 * - 分别定义一个表示人和学生的类
 *   - 人类：有姓名属性，以及吃饭这个行为
 *   - 学生类：有姓名，学号两个属性，同时有吃饭，学习两种行为
 *   - 教师类：有姓名，教师号两个属性，同时有吃饭，教学两种行为
 * - 代码有什么问题？
 *  有些代码，有些成员变量和成员方法是重复定义的
 *  代码冗余
 *  代码没有复用，可维护性差
 *  在之前，我们类中的代码冗余，需要复用了，我们一般用方法去实现这个复用
 *  方法是没有办法复用这些成员的，那么我们现在的知识就达不成我们的目的了
 *
 *  beyond compare 全文检索和对比工具
 *  把工程一个个检索，依次去改，最终改了三四天
 *  自测，测试测，前后联调测
 *  最终上报领导，说，这个已经准备完毕了，准备进行升级上线
 *  必须要通宵跟着团队，运维会给你部署项目
 *  你要上去测，测完了测试测
 *  6点
 *  八九点
 *  通宵一晚，然后再干一天，这也不是梦想
 *
 */
public class Demo {
}

class Person{
    String name1;
    public void eat(){
        System.out.println("吃饭");
    }
}
class Student{
    String name1;
    int stuId;
    public void eat(){
        System.out.println("吃饭");
    }
    public void study(){
        System.out.println("好好学习，天天向上");
    }
}

class Teacher{
    String name1;
    int teacherId;
    public void eat(){
        System.out.println("吃饭");
    }
    public void teach(){
        System.out.println("老师天天催眠大法");
    }
}
